﻿//using System;
//using System.Collections.Generic;
//using System.IO;
//using System.Linq;
//using System.Text;

//namespace GeckoLib {
//    public partial class Gecko {
//        public static Gecko Synchronized(Gecko gecko) {
//            return new SyncGecko(gecko.BaseStream);
//        }
//        //TODO: Copy what SyncStream does
//        internal class SyncGecko : Gecko {
//            public SyncGecko(Stream baseStream) : base(baseStream) { }
//            public override void Hook(bool pause = false, Wii.Language language = Language.NoOverride, Wii.Patch patches = Patch.NoPatches, Wii.HookType hookType = HookType.VI) {
//                lock (BaseStream) base.Hook(pause, language, patches, hookType);
//            }
//            public override void Poke(uint address, byte value) {
//                lock (BaseStream) base.Poke(address, value);
//            }
//        }
//    }
//}
